package com.erp.domain;

import com.erp.common.annotation.Excel;
import com.erp.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author:lxs
 * @CreateTime: 2025-09-05
 * @Description:商品主表
 */

public class ErpProduct extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 商品ID */
    private String productId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 商品分类ID */
    @Excel(name = "商品分类ID")
    private Long categoryId;

    /** 商品品牌ID */
    @Excel(name = "商品品牌ID")
    private Long brandId;

    /** 商品单位ID */
    @Excel(name = "商品单位ID")
    private Long unitId;

    /** 建议采购价 */
    @Excel(name = "建议采购价")
    private BigDecimal suggestedPrice;

    /** 建议零售价 */
    @Excel(name = "建议零售价")
    private BigDecimal suggestedRetailprice;

    /** 商品图片链接 */
    @Excel(name = "商品图片链接")
    private String imageUrl;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationTime;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifyTime;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 关联仓库id */
    @Excel(name = "关联仓库id")
    private String warehouseId;

    @Override
    public String toString() {
        return "ErpProduct{" +
                "productId='" + productId + '\'' +
                ", productName='" + productName + '\'' +
                ", categoryId=" + categoryId +
                ", brandId=" + brandId +
                ", unitId=" + unitId +
                ", suggestedPrice=" + suggestedPrice +
                ", suggestedRetailprice=" + suggestedRetailprice +
                ", imageUrl='" + imageUrl + '\'' +
                ", creationTime=" + creationTime +
                ", modifyTime=" + modifyTime +
                ", status='" + status + '\'' +
                ", warehouseId='" + warehouseId + '\'' +
                "} " + super.toString();
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public Long getBrandId() {
        return brandId;
    }

    public void setBrandId(Long brandId) {
        this.brandId = brandId;
    }

    public Long getUnitId() {
        return unitId;
    }

    public void setUnitId(Long unitId) {
        this.unitId = unitId;
    }

    public BigDecimal getSuggestedPrice() {
        return suggestedPrice;
    }

    public void setSuggestedPrice(BigDecimal suggestedPrice) {
        this.suggestedPrice = suggestedPrice;
    }

    public BigDecimal getSuggestedRetailprice() {
        return suggestedRetailprice;
    }

    public void setSuggestedRetailprice(BigDecimal suggestedRetailprice) {
        this.suggestedRetailprice = suggestedRetailprice;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public Date getCreationTime() {
        return creationTime;
    }

    public void setCreationTime(Date creationTime) {
        this.creationTime = creationTime;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getWarehouseId() {
        return warehouseId;
    }

    public void setWarehouseId(String warehouseId) {
        this.warehouseId = warehouseId;
    }
}
